﻿
// GraphToolXDlg.h: 头文件
//

#pragma once
#include<vector>

// CGraphToolXDlg 对话框
class CGraphToolXDlg : public CDialogEx
{
private:
	unsigned int n = 0, m = 0; //结点数，边数
	bool isDirect = true; //是否为有向图
	std::vector<std::vector<unsigned int>> adjList; //图邻接表
	std::vector<unsigned int> a, b; //图文本文件里的两列a->b
	unsigned int maxInDeg, maxOutDeg; //最大入度，最大出度
	unsigned int maxInDegNum, maxOutDegNum; //最大入度的结点数，最大出度的结点数
	void reOrder(int beginNum); //重新编号
// 构造
public:
	CGraphToolXDlg(CWnd* pParent = nullptr);	// 标准构造函数

// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_GRAPHTOOLX_DIALOG };
#endif

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 支持


// 实现
protected:
	HICON m_hIcon;

	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnBnClickedLoad();
	afx_msg void OnBnClickedDraw();
	afx_msg void OnBnClickedReset();
	afx_msg void OnBnClickedDot();
	afx_msg void OnBnClickedCaldegree();
	afx_msg void OnBnClickedCheck4();
	afx_msg void OnBnClickedButtonoutofrange();
	afx_msg void OnBnClickedoutdegoutput();
	afx_msg void OnBnClickedindegoutput();
	afx_msg void OnBnClickeddegreeout();
	afx_msg void OnBnClickedindexcheck();
	afx_msg void OnBnClickedindexorder0();
	afx_msg void OnBnClickedindexorder1();
	afx_msg void OnBnClickedgeneratep();
};
